package CConstructor;

sub new {
	my ($class, $signature, $visible) = @_;
	return bless { sig => $signature, visible => $visible }, $class;
}

sub visible {
	return (shift)->{visible}; 
}

sub args {
	my $args = (shift)->{sig}->{args};
	
	if ($args) {
		return $args;
	} else {
		return [];
	}
}

sub arg {
	return (shift)->{sig}->{args}->[(shift)];	
}

sub count {
	my $args = (shift)->args();
	return scalar( @$args );
}

1;